#ifndef __BOARD_H
#define __BOARD_H

/* RT-Thread相关头文件 */
#include <rthw.h>
#include <rtthread.h>

/* STM32 固件库头文件 */
#include "main.h"
#include "arm_math.h"

/* bsp 库头文件 */
#include "common.h"
#include "gpio.h"
#include "uart.h"
#include "time.h"

/* 驱动文件 */
// #include "foc.h"
// #include "AS5600.h"
// #include "mpu6050.h"

//系统堆初始化可以设置的最大地址
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#define STM32_SRAM1_START              (0x20000000)
#define STM32_SRAM1_END                (STM32_SRAM1_START + 20 * 1024)   // 结束地址 = 0x20000000（基址） + 20K(RAM大小)

#if defined(__CC_ARM) || defined(__CLANG_ARM)
extern int Image$$RW_IRAM1$$ZI$$Limit;                                 // RW_IRAM1，需与链接脚本中运行时域名相对应
#define HEAP_BEGIN      ((void *)&Image$$RW_IRAM1$$ZI$$Limit)
#endif

#define HEAP_END                       STM32_SRAM1_END
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#endif
